package leading;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class GregorianCalendarTest {
	public static void main(String[] args) {
		GregorianCalendar tGregorianCalendar = new GregorianCalendar();
		
		Date tDate = parseToDate("2012-11-23 16:04:08");
		System.out.println(tDate);
		
		tGregorianCalendar.setTime(tDate);
		tGregorianCalendar.add(Calendar.YEAR, 1);//加一 年
		tGregorianCalendar.set(Calendar.YEAR, 2011);
		
		System.out.println("年："+tGregorianCalendar.get(Calendar.YEAR));//年
		System.out.println("哪个月："+tGregorianCalendar.get(Calendar.MONTH));//一月是0
		System.out.println("指示一个月中的某天："+tGregorianCalendar.get(Calendar.DATE));//指示一个月中的某天
		System.out.println("一个月中的某天："+tGregorianCalendar.get(Calendar.DAY_OF_MONTH));//指示一个月中的某天
		System.out.println("一星期的第几天："+tGregorianCalendar.get(Calendar.DAY_OF_WEEK));//1是星期天
		System.out.println("一年中的第几天："+tGregorianCalendar.get(Calendar.DAY_OF_YEAR));//一年中的第几天
		System.out.println("当月的第几天星期："+tGregorianCalendar.get(Calendar.WEEK_OF_MONTH));//当月的第几天星期
		System.out.println("一年中的第几个星期："+tGregorianCalendar.get(Calendar.WEEK_OF_YEAR));//一年中的第几个星期
		
		//compareTo比较日期
		System.out.println("当前日期和指定日期哪个大："+new Date().compareTo(tDate));//小于0(new Date()-tDate<0说明tDate更大)
	}
	
	public static Date parseToDate(String dateStr){
		Date pDate = null ;
		SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		try {
			pDate = sf.parse(dateStr);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return pDate;
	}
	
}
